﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TpBaseObjects.Objects;
using TpData.Layer;
using TpLogger;

namespace TpData.Manager {
    
    public class TecNotizDataManager {

        #region Members
        #endregion

        #region Load

        public static bool GetNotizUserSentMails(int userID, int notizID) {
            using (TecNotizDataLayer dl = CreateTecNotizDataLayer()) {
                return dl.GetNotizUserSentMails(userID, notizID);
            }
        }

        public static TecNotizObj LoadTecNotiz(int NotizID) {
            using (TecNotizDataLayer dl = CreateTecNotizDataLayer()) {
                return dl.LoadNotiz(NotizID);
            }
        }

        public static List<TecNotizObj> LoadTecNotizList() {
            using (TecNotizDataLayer dl = CreateTecNotizDataLayer()) {
                return dl.LoadNotizList();
            }
        }

        public static List<TecNotizObj> LoadTecNotizList(int userID) {
            using (TecNotizDataLayer dl = CreateTecNotizDataLayer()) {
                return dl.LoadNotizList(userID);
            }
        }

        public static List<TecNotizStatus> LoadTecNotizStates() {
            using (TecNotizDataLayer dl = CreateTecNotizDataLayer()) {
                return dl.LoadTelefonStates();
            }
        }

        public static List<TecNotizTelefonType> LoadTecNotizTelTypes() {
            using (TecNotizDataLayer dl = CreateTecNotizDataLayer()) {
                return dl.LoadTelefonTypes();
            }
        }

        public static List<TecNotizTargetUser> LoadTargetUser() {
            return LoadTargetUser(0);
        }

        public static List<TecNotizTargetUser> LoadTargetUser(int notizID) {
            using (TecNotizDataLayer dl = CreateTecNotizDataLayer()) {
                return dl.LoadNotizTargetUser(notizID);
            }
        }

        #endregion

        #region Save

        public static void SaveTecNotiz(TecNotizObj notiz) {
            using (TecNotizDataLayer dl = CreateTecNotizDataLayer()) {
                dl.SaveTecNotiz(notiz);
            }
        }

        public static void SaveTecNotizUserSentMails(int userID, int notizID) {
            using (TecNotizDataLayer dl = CreateTecNotizDataLayer()) {
                dl.SaveTecNotizUserSentMails(userID, notizID);
            }
        }

        #endregion

        #region Functions

        private static TecNotizDataLayer CreateTecNotizDataLayer() {
            return (DataManager.CreateDataLayer(typeof(TecNotizDataLayer)) as TecNotizDataLayer);
        }

        #endregion

    }
}
